1. Technical Field
Example embodiments of the present invention relate to an operating system, and more specifically to an apparatus and a method for configuring an operating system by separating domains of the operating system so as to guarantee reliability of the operating system.
2. Related Art
An Operating System (OS) is system software providing a user of an information processing apparatus with an environment for using programs conveniently by controlling and managing hardware and system resources such as a memory device, a processor device, an input/output device, a network device, etc.
An operating system comprises a kernel, and may perform functions for efficiently managing hardware or system resources and functions for efficiently operating application programs based on the system resources.
Here, a kernel may be classified into a monolithic kernel and a micro kernel according to its type of module configuration.
In a monolithic kernel type operating system, all functions of the operating system are implemented in an identical address space as a single module.
FIG. 1 is an exemplary view explaining a conventional operating system implemented in a monolithic kernel manner.
Referring to FIG. 1, the operating system 100 using the monolithic kernel manner may comprise a resource allocation manager 110 managing allocation of resources, a resource release manager 120 managing release of resources, and a resource access manager 130 managing accesses on resources in a single module so as to manage system resources 140.
Therefore, management on system resources 140 required for application programs and operations of application programs using the system resources 140 may be performed in the identical address space.
Such the configuration of an operating system is preferred currently since it can enhance performance of the operating system 100.
However, since functions for managing the system resources 140 and functions for operating application programs are performed in the identical address space, if a part of the operating system is destructed, a critical problem may occur in the whole system. Therefore, it has disadvantage of being vulnerable to security and reliability problems.
Thus, the micro kernel manner has been proposed. In the micro kernel type operating system, the kernel is minimized so that minimum functions of the operating system are implemented in a kernel, and the rest of the functions of the operating system are performed in a user mode external to the kernel. As compared with the monolithic kernel, the micro kernel may have advantage of enhancing security and reliability of the operating system.
FIG. 2 is an exemplary view illustrating a conventional operating system implemented in a micro kernel manner.
Referring to FIG. 2, in the operating system 100 using the micro kernel manner, modules are implemented for each of the functions of the operating system 100, and independent address space is provided to each of the modules.
For example, resources 141 related to a functional module for a function #3 and resources 143 related to a functional module for a function #4 may be provided with independent address space for each.
Therefore, for example, in order for an application program to access system resources, inter-module communications comprising several steps, in which the application program transmits a request to a file system module, and then the file system module transmits a request to a storage device driving module, may be required.
Since such the configuration of the operating system provides independent address space according to functions of the operating system, a problem occurring in a module in which a specific function of the operating system is implemented does not affect whole system. Thus, as compared with the monolithic kernel, the micro kernel may have advantage in security and reliability.
However, since each function of the operating system is implemented independently from each other, multi-step inter-module communications are required so that performances of the operating system may be degraded.